﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum НазначенияУчетнойЗаписи
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"8b6770f8-e156-4bdf-b575-889125e57abf\", \"Представление\":\"ПерепискаСКандидатами\"}")]
		ПерепискаСКандидатами = 0,//Переписка с кандидатами
		[EnumMember(Value = "{\"Ссылка\":\"7ec54161-8eac-4938-a837-a7e76fbe7e10\", \"Представление\":\"Прочее\"}")]
		Прочее = 1,
	}
	public static partial class НазначенияУчетнойЗаписи_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid ПерепискаСКандидатами = new Guid("918875b5-e525-bf7a-4bdf-e1568b6770f8");//Переписка с кандидатами
		public static readonly Guid Прочее = new Guid("e7a737a8-be6f-107e-4938-8eac7ec54161");
		public static НазначенияУчетнойЗаписи Получить(this НазначенияУчетнойЗаписи Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static НазначенияУчетнойЗаписи Получить(this НазначенияУчетнойЗаписи Значение, Guid Ссылка)
		{
			if(Ссылка == ПерепискаСКандидатами)
			{
				return НазначенияУчетнойЗаписи.ПерепискаСКандидатами;
			}
			else if(Ссылка == Прочее)
			{
				return НазначенияУчетнойЗаписи.Прочее;
			}
			return НазначенияУчетнойЗаписи.ПустаяСсылка;
		}
		public static byte[] Ключ(this НазначенияУчетнойЗаписи Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this НазначенияУчетнойЗаписи Значение)
		{
			switch (Значение)
			{
				case НазначенияУчетнойЗаписи.ПерепискаСКандидатами: return ПерепискаСКандидатами;
				case НазначенияУчетнойЗаписи.Прочее: return Прочее;
			}
			return Guid.Empty;
		}
	}
}